package lib

// Message 每一条聊天的标准数据格式
type Message struct {
	Sender   UserBrief `json:"sender"`
	Receiver UserBrief `json:"receiver"`
	Time     string    `json:"time"`
	Type     string    `json:"type"` // "chat"
	Content  string    `json:"content"`
	IsPhoto  int       `json:"is_photo"` //0代表改信息为文字, 1代表该信息为图片链接
	MsgId    int       `json:"msg_id"`   // 每一条消息都增加一个id
}

// PullMsgQueue 当websocket连接被建立时，服务器自动向客户端发送的所有未读消息的信息格式
type PullMsgQueue struct {
	Type       string    `json:"type,omitempty"` // pull_chat
	SumNum     int       `json:"sum_num"`
	UcMessages []Message `json:"uc_messages"`
}

type UpgradeReq struct { // 使用get方法没有请求体，请使用get方法并在url中添加请求参数id与token
	Id    int64  `json:"id"`
	Token string `json:"token"`
}

type UpgradeResp struct {
	StatusCode int    `json:"status_code"`
	StatusMsg  string `json:"status_msg"`
}

// GetHistoryReq 请求获取用户与某一好友的聊天记录的消息格式
type GetHistoryReq struct {
	Id         int64  `json:"id"`
	Token      string `json:"token"`
	TheOtherId int64  `json:"the_other_id"`
	Start      int    `json:"start"`
}

// GetHistoryResp 获取聊天记录请求的响应格式
type GetHistoryResp struct {
	StatusCode int       `json:"status_code"` // 1用户信息错误, 2请求成功, 0服务器错误(已测试通过, 不会产生)
	StatusMsg  string    `json:"status_msg"`
	SumNum     int       `json:"sum_num"`
	History    []Message `json:"history"`
}
